package com.fengye.algorithms.leecode;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Author fengye
 * @Date 2023/4/8 11:50
 **/
public class ContainsDuplicate217 {
    public boolean containsDuplicate(int[] nums) {
        Map<Integer, List<Integer>> maps = new HashMap<>(nums.length);
        int n;
        for(int i=0;i<nums.length;i++)
        {
            n=nums[i]%nums.length;
            if(n<0) n+=nums.length;
            if(maps.get(n) == null) {
                List<Integer> t = new ArrayList<>();
                t.add(i);
                maps.put(n, t);
            } else {
                List<Integer> t = maps.get(n);
                for (int j = 0; j <t.size();j++) {
                    if(nums[i] == nums[t.get(j)]) {
                        return true;
                    }
                }
                t.add(i);
            }
        }
        return false;
    }
}
